Entorno de desarrollo con Docker y Visual Studio Code
Este documento es un manual breve para poder desplegar el entorno de desarrollo utilizando Visual Studio Code, Docker y la extensión Dev - Containers. El archivo entorno-vscode-docker.tar.gz contiene una serie de ficheros para la configuración del proyecto, cuya estructura y contenido se explica más adelante.
Nota para usuarios de MS Windows: Al arrancar Docker puede que te dé avisos importantes.
wsl --install
wsl --update
Aquí puedes ver una captura con Docker instalándose:
Y otra captura con Docker en ejecución:
Dev Containers
Para que VSCode funcione contra un contenedor debemos tener una carpeta de proyecto con la siguiente estructura:
proyecto
.devcontainer
Dockerfile
devcontainer.json
A continuación se proporciona el contenido de los ficheros Dockerfile y devcontainer.json.
El fichero Dockerfile debe contener lo siguiente:
FROM debian:latest RUN apt-get clean RUN apt-get update --fix-missing RUN apt-get update RUN DEBIAN_FRONTEND=noninteractive apt-get install -y locales sudo nano gcc make gdb glibc-doc git man bash-completion whois strace time wget vim emacs # LOCALE RUN sed -i '/es_ES.UTF-8/s/^# //g' /etc/locale.gen && locale-gen ENV LANG es_ES.UTF-8 ENV LANGUAGE es_ES:es ENV LC_ALL es_ES.UTF-8 # USUARIO RUN useradd -m usuario -p sa5u2O0Xjsufg RUN usermod -aG sudo usuario USER usuario WORKDIR /home/usuario
Mientras que el fichero devcontainer.json debe contener lo siguiente:
{ "name": "container-so", "dockerFile": "Dockerfile", "settings": { "terminal.integrated.shell.linux": "/bin/bash" }, "extensions": [ "redhat.fabric8-analytics", "esbenp.prettier-vscode", "ms-vscode.cpptools", "ms-vscode.cpptools-extension-pack", ] }
Esta es una captura de pantalla con VSCode creando el contenedor
hello.c
#include <stdio.h> int main(int argc, char** argv) { printf("Hello World!\n"); return 0; }
Terminal
New Terminal
gcc -o hello hello.c ./hello
Hello World!
Aquí se puede ver una captura de pantalla con VSCode ejecutando el programa hello:
hello